/*
* Conditions Of Use
*
* This software was developed by employees of the Sigmatrix(Beijing) Corporation.
* This software is provided by sigmatrix as a service and is expressly
* provided "AS IS."  Sigmatrix MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED
* OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT
* AND DATA ACCURACY.  Sigmatrix does not warrant or make any representations
* regarding the use of the software or the results thereof, including but
* not limited to the correctness, accuracy, reliability or usefulness of
* the software.
*
* Permission to use this software is contingent upon your acceptance
* of the terms of this agreement.
*
*/
package com.sigmatrix.h5.web.vo;

import java.util.ArrayList;
import java.util.List;

import javax.validation.constraints.NotNull;

import org.hibernate.validator.constraints.NotBlank;
import org.hibernate.validator.constraints.NotEmpty;

import com.sigmatrix.h5.request.Request;
import com.sigmatrix.sc.jdbc.common.annotation.Column;

import io.swagger.annotations.ApiModelProperty;

/**
 *@ClassName: InStorageUpLoadVo
 *@Description: 入库单上传接口请求vo
 *@date 2017年9月19日 下午8:01:12
 */
public class InStorageUpLoadVo extends Request {
	
	/**
	 *@Fields serialVersionUID : 
	 */
	private static final long serialVersionUID = 2499890133845417883L;

	@ApiModelProperty(value="入库单ID")
	@NotNull(message="入库单Id不可以为空")
	private Long inStorageId;
	
	@ApiModelProperty(value="入库单号")
	@NotBlank(message="入库单号不可为空")
	private String orderCode;
	
	@ApiModelProperty(value="入库渠道类型,1-生产入库,2-销售退货入库,3-其他入库,4-收货入库")
	@NotNull(message="渠道类型不可以为空")
	private Short channelType;

	@ApiModelProperty(value="经销商")
	@NotNull(message="经销商Id不可以为空")
	private Integer dealerId;

	@ApiModelProperty(value="仓库")
	@NotNull(message="仓库Id不可以为空")
	private Integer warehouseId;
	
	@ApiModelProperty(value="入库单详情")
	@NotEmpty(message="仓入库单详情不可以为空")
	private List<InStorageUpLoadDetailVo> detailList = new ArrayList<InStorageUpLoadDetailVo>();

	@ApiModelProperty(value="异步任务号")
	private Integer syncTaskId;
	
	@ApiModelProperty(value="状态")
	private Short status;
	
	@ApiModelProperty("经度")
	private String lat;
	
	@ApiModelProperty("维度")
	private String lng;
	/**
	 *@return the inStorageId
	 */
	public Long getInStorageId() {
		return inStorageId;
	}

	/**
	 *@param inStorageId the inStorageId to set
	 */
	public void setInStorageId(Long inStorageId) {
		this.inStorageId = inStorageId;
	}

	/**
	 *@return the dealerId
	 */
	public Integer getDealerId() {
		return dealerId;
	}

	/**
	 *@param dealerId the dealerId to set
	 */
	public void setDealerId(Integer dealerId) {
		this.dealerId = dealerId;
	}

	/**
	 *@return the warehouseId
	 */
	public Integer getWarehouseId() {
		return warehouseId;
	}

	/**
	 *@param warehouseId the warehouseId to set
	 */
	public void setWarehouseId(Integer warehouseId) {
		this.warehouseId = warehouseId;
	}

	/**
	 *@return the detailList
	 */
	public List<InStorageUpLoadDetailVo> getDetailList() {
		return detailList;
	}

	/**
	 *@param detailList the detailList to set
	 */
	public void setDetailList(List<InStorageUpLoadDetailVo> detailList) {
		this.detailList = detailList;
	}

	/**
	 *@return the channelType
	 */
	public Short getChannelType() {
		return channelType;
	}

	/**
	 *@param channelType the channelType to set
	 */
	public void setChannelType(Short channelType) {
		this.channelType = channelType;
	}

	public Integer getSyncTaskId() {
		return syncTaskId;
	}

	public void setSyncTaskId(Integer syncTaskId) {
		this.syncTaskId = syncTaskId;
	}

	public String getOrderCode() {
		return orderCode;
	}

	public void setOrderCode(String orderCode) {
		this.orderCode = orderCode;
	}

	public Short getStatus() {
		return status;
	}

	public void setStatus(Short status) {
		this.status = status;
	}

	public String getLat() {
		return lat;
	}

	public void setLat(String lat) {
		this.lat = lat;
	}

	public String getLng() {
		return lng;
	}

	public void setLng(String lng) {
		this.lng = lng;
	}

	
	
}
